package com.work.domain;

import java.util.ArrayList;
import java.util.List;

public class UserLoginlogExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public UserLoginlogExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andUsernamelogIsNull() {
            addCriterion("userNameLog is null");
            return (Criteria) this;
        }

        public Criteria andUsernamelogIsNotNull() {
            addCriterion("userNameLog is not null");
            return (Criteria) this;
        }

        public Criteria andUsernamelogEqualTo(String value) {
            addCriterion("userNameLog =", value, "usernamelog");
            return (Criteria) this;
        }

        public Criteria andUsernamelogNotEqualTo(String value) {
            addCriterion("userNameLog <>", value, "usernamelog");
            return (Criteria) this;
        }

        public Criteria andUsernamelogGreaterThan(String value) {
            addCriterion("userNameLog >", value, "usernamelog");
            return (Criteria) this;
        }

        public Criteria andUsernamelogGreaterThanOrEqualTo(String value) {
            addCriterion("userNameLog >=", value, "usernamelog");
            return (Criteria) this;
        }

        public Criteria andUsernamelogLessThan(String value) {
            addCriterion("userNameLog <", value, "usernamelog");
            return (Criteria) this;
        }

        public Criteria andUsernamelogLessThanOrEqualTo(String value) {
            addCriterion("userNameLog <=", value, "usernamelog");
            return (Criteria) this;
        }

        public Criteria andUsernamelogLike(String value) {
            addCriterion("userNameLog like", value, "usernamelog");
            return (Criteria) this;
        }

        public Criteria andUsernamelogNotLike(String value) {
            addCriterion("userNameLog not like", value, "usernamelog");
            return (Criteria) this;
        }

        public Criteria andUsernamelogIn(List<String> values) {
            addCriterion("userNameLog in", values, "usernamelog");
            return (Criteria) this;
        }

        public Criteria andUsernamelogNotIn(List<String> values) {
            addCriterion("userNameLog not in", values, "usernamelog");
            return (Criteria) this;
        }

        public Criteria andUsernamelogBetween(String value1, String value2) {
            addCriterion("userNameLog between", value1, value2, "usernamelog");
            return (Criteria) this;
        }

        public Criteria andUsernamelogNotBetween(String value1, String value2) {
            addCriterion("userNameLog not between", value1, value2, "usernamelog");
            return (Criteria) this;
        }

        public Criteria andUserrolelogIsNull() {
            addCriterion("userRoleLog is null");
            return (Criteria) this;
        }

        public Criteria andUserrolelogIsNotNull() {
            addCriterion("userRoleLog is not null");
            return (Criteria) this;
        }

        public Criteria andUserrolelogEqualTo(String value) {
            addCriterion("userRoleLog =", value, "userrolelog");
            return (Criteria) this;
        }

        public Criteria andUserrolelogNotEqualTo(String value) {
            addCriterion("userRoleLog <>", value, "userrolelog");
            return (Criteria) this;
        }

        public Criteria andUserrolelogGreaterThan(String value) {
            addCriterion("userRoleLog >", value, "userrolelog");
            return (Criteria) this;
        }

        public Criteria andUserrolelogGreaterThanOrEqualTo(String value) {
            addCriterion("userRoleLog >=", value, "userrolelog");
            return (Criteria) this;
        }

        public Criteria andUserrolelogLessThan(String value) {
            addCriterion("userRoleLog <", value, "userrolelog");
            return (Criteria) this;
        }

        public Criteria andUserrolelogLessThanOrEqualTo(String value) {
            addCriterion("userRoleLog <=", value, "userrolelog");
            return (Criteria) this;
        }

        public Criteria andUserrolelogLike(String value) {
            addCriterion("userRoleLog like", value, "userrolelog");
            return (Criteria) this;
        }

        public Criteria andUserrolelogNotLike(String value) {
            addCriterion("userRoleLog not like", value, "userrolelog");
            return (Criteria) this;
        }

        public Criteria andUserrolelogIn(List<String> values) {
            addCriterion("userRoleLog in", values, "userrolelog");
            return (Criteria) this;
        }

        public Criteria andUserrolelogNotIn(List<String> values) {
            addCriterion("userRoleLog not in", values, "userrolelog");
            return (Criteria) this;
        }

        public Criteria andUserrolelogBetween(String value1, String value2) {
            addCriterion("userRoleLog between", value1, value2, "userrolelog");
            return (Criteria) this;
        }

        public Criteria andUserrolelogNotBetween(String value1, String value2) {
            addCriterion("userRoleLog not between", value1, value2, "userrolelog");
            return (Criteria) this;
        }

        public Criteria andOsinfologIsNull() {
            addCriterion("osInfoLog is null");
            return (Criteria) this;
        }

        public Criteria andOsinfologIsNotNull() {
            addCriterion("osInfoLog is not null");
            return (Criteria) this;
        }

        public Criteria andOsinfologEqualTo(String value) {
            addCriterion("osInfoLog =", value, "osinfolog");
            return (Criteria) this;
        }

        public Criteria andOsinfologNotEqualTo(String value) {
            addCriterion("osInfoLog <>", value, "osinfolog");
            return (Criteria) this;
        }

        public Criteria andOsinfologGreaterThan(String value) {
            addCriterion("osInfoLog >", value, "osinfolog");
            return (Criteria) this;
        }

        public Criteria andOsinfologGreaterThanOrEqualTo(String value) {
            addCriterion("osInfoLog >=", value, "osinfolog");
            return (Criteria) this;
        }

        public Criteria andOsinfologLessThan(String value) {
            addCriterion("osInfoLog <", value, "osinfolog");
            return (Criteria) this;
        }

        public Criteria andOsinfologLessThanOrEqualTo(String value) {
            addCriterion("osInfoLog <=", value, "osinfolog");
            return (Criteria) this;
        }

        public Criteria andOsinfologLike(String value) {
            addCriterion("osInfoLog like", value, "osinfolog");
            return (Criteria) this;
        }

        public Criteria andOsinfologNotLike(String value) {
            addCriterion("osInfoLog not like", value, "osinfolog");
            return (Criteria) this;
        }

        public Criteria andOsinfologIn(List<String> values) {
            addCriterion("osInfoLog in", values, "osinfolog");
            return (Criteria) this;
        }

        public Criteria andOsinfologNotIn(List<String> values) {
            addCriterion("osInfoLog not in", values, "osinfolog");
            return (Criteria) this;
        }

        public Criteria andOsinfologBetween(String value1, String value2) {
            addCriterion("osInfoLog between", value1, value2, "osinfolog");
            return (Criteria) this;
        }

        public Criteria andOsinfologNotBetween(String value1, String value2) {
            addCriterion("osInfoLog not between", value1, value2, "osinfolog");
            return (Criteria) this;
        }

        public Criteria andLoginiplogIsNull() {
            addCriterion("loginIpLog is null");
            return (Criteria) this;
        }

        public Criteria andLoginiplogIsNotNull() {
            addCriterion("loginIpLog is not null");
            return (Criteria) this;
        }

        public Criteria andLoginiplogEqualTo(String value) {
            addCriterion("loginIpLog =", value, "loginiplog");
            return (Criteria) this;
        }

        public Criteria andLoginiplogNotEqualTo(String value) {
            addCriterion("loginIpLog <>", value, "loginiplog");
            return (Criteria) this;
        }

        public Criteria andLoginiplogGreaterThan(String value) {
            addCriterion("loginIpLog >", value, "loginiplog");
            return (Criteria) this;
        }

        public Criteria andLoginiplogGreaterThanOrEqualTo(String value) {
            addCriterion("loginIpLog >=", value, "loginiplog");
            return (Criteria) this;
        }

        public Criteria andLoginiplogLessThan(String value) {
            addCriterion("loginIpLog <", value, "loginiplog");
            return (Criteria) this;
        }

        public Criteria andLoginiplogLessThanOrEqualTo(String value) {
            addCriterion("loginIpLog <=", value, "loginiplog");
            return (Criteria) this;
        }

        public Criteria andLoginiplogLike(String value) {
            addCriterion("loginIpLog like", value, "loginiplog");
            return (Criteria) this;
        }

        public Criteria andLoginiplogNotLike(String value) {
            addCriterion("loginIpLog not like", value, "loginiplog");
            return (Criteria) this;
        }

        public Criteria andLoginiplogIn(List<String> values) {
            addCriterion("loginIpLog in", values, "loginiplog");
            return (Criteria) this;
        }

        public Criteria andLoginiplogNotIn(List<String> values) {
            addCriterion("loginIpLog not in", values, "loginiplog");
            return (Criteria) this;
        }

        public Criteria andLoginiplogBetween(String value1, String value2) {
            addCriterion("loginIpLog between", value1, value2, "loginiplog");
            return (Criteria) this;
        }

        public Criteria andLoginiplogNotBetween(String value1, String value2) {
            addCriterion("loginIpLog not between", value1, value2, "loginiplog");
            return (Criteria) this;
        }

        public Criteria andLogintimelogIsNull() {
            addCriterion("loginTimeLog is null");
            return (Criteria) this;
        }

        public Criteria andLogintimelogIsNotNull() {
            addCriterion("loginTimeLog is not null");
            return (Criteria) this;
        }

        public Criteria andLogintimelogEqualTo(String value) {
            addCriterion("loginTimeLog =", value, "logintimelog");
            return (Criteria) this;
        }

        public Criteria andLogintimelogNotEqualTo(String value) {
            addCriterion("loginTimeLog <>", value, "logintimelog");
            return (Criteria) this;
        }

        public Criteria andLogintimelogGreaterThan(String value) {
            addCriterion("loginTimeLog >", value, "logintimelog");
            return (Criteria) this;
        }

        public Criteria andLogintimelogGreaterThanOrEqualTo(String value) {
            addCriterion("loginTimeLog >=", value, "logintimelog");
            return (Criteria) this;
        }

        public Criteria andLogintimelogLessThan(String value) {
            addCriterion("loginTimeLog <", value, "logintimelog");
            return (Criteria) this;
        }

        public Criteria andLogintimelogLessThanOrEqualTo(String value) {
            addCriterion("loginTimeLog <=", value, "logintimelog");
            return (Criteria) this;
        }

        public Criteria andLogintimelogLike(String value) {
            addCriterion("loginTimeLog like", value, "logintimelog");
            return (Criteria) this;
        }

        public Criteria andLogintimelogNotLike(String value) {
            addCriterion("loginTimeLog not like", value, "logintimelog");
            return (Criteria) this;
        }

        public Criteria andLogintimelogIn(List<String> values) {
            addCriterion("loginTimeLog in", values, "logintimelog");
            return (Criteria) this;
        }

        public Criteria andLogintimelogNotIn(List<String> values) {
            addCriterion("loginTimeLog not in", values, "logintimelog");
            return (Criteria) this;
        }

        public Criteria andLogintimelogBetween(String value1, String value2) {
            addCriterion("loginTimeLog between", value1, value2, "logintimelog");
            return (Criteria) this;
        }

        public Criteria andLogintimelogNotBetween(String value1, String value2) {
            addCriterion("loginTimeLog not between", value1, value2, "logintimelog");
            return (Criteria) this;
        }

        public Criteria andLogincountslogIsNull() {
            addCriterion("loginCountsLog is null");
            return (Criteria) this;
        }

        public Criteria andLogincountslogIsNotNull() {
            addCriterion("loginCountsLog is not null");
            return (Criteria) this;
        }

        public Criteria andLogincountslogEqualTo(Integer value) {
            addCriterion("loginCountsLog =", value, "logincountslog");
            return (Criteria) this;
        }

        public Criteria andLogincountslogNotEqualTo(Integer value) {
            addCriterion("loginCountsLog <>", value, "logincountslog");
            return (Criteria) this;
        }

        public Criteria andLogincountslogGreaterThan(Integer value) {
            addCriterion("loginCountsLog >", value, "logincountslog");
            return (Criteria) this;
        }

        public Criteria andLogincountslogGreaterThanOrEqualTo(Integer value) {
            addCriterion("loginCountsLog >=", value, "logincountslog");
            return (Criteria) this;
        }

        public Criteria andLogincountslogLessThan(Integer value) {
            addCriterion("loginCountsLog <", value, "logincountslog");
            return (Criteria) this;
        }

        public Criteria andLogincountslogLessThanOrEqualTo(Integer value) {
            addCriterion("loginCountsLog <=", value, "logincountslog");
            return (Criteria) this;
        }

        public Criteria andLogincountslogIn(List<Integer> values) {
            addCriterion("loginCountsLog in", values, "logincountslog");
            return (Criteria) this;
        }

        public Criteria andLogincountslogNotIn(List<Integer> values) {
            addCriterion("loginCountsLog not in", values, "logincountslog");
            return (Criteria) this;
        }

        public Criteria andLogincountslogBetween(Integer value1, Integer value2) {
            addCriterion("loginCountsLog between", value1, value2, "logincountslog");
            return (Criteria) this;
        }

        public Criteria andLogincountslogNotBetween(Integer value1, Integer value2) {
            addCriterion("loginCountsLog not between", value1, value2, "logincountslog");
            return (Criteria) this;
        }

        public Criteria andDourllogIsNull() {
            addCriterion("doUrlLog is null");
            return (Criteria) this;
        }

        public Criteria andDourllogIsNotNull() {
            addCriterion("doUrlLog is not null");
            return (Criteria) this;
        }

        public Criteria andDourllogEqualTo(String value) {
            addCriterion("doUrlLog =", value, "dourllog");
            return (Criteria) this;
        }

        public Criteria andDourllogNotEqualTo(String value) {
            addCriterion("doUrlLog <>", value, "dourllog");
            return (Criteria) this;
        }

        public Criteria andDourllogGreaterThan(String value) {
            addCriterion("doUrlLog >", value, "dourllog");
            return (Criteria) this;
        }

        public Criteria andDourllogGreaterThanOrEqualTo(String value) {
            addCriterion("doUrlLog >=", value, "dourllog");
            return (Criteria) this;
        }

        public Criteria andDourllogLessThan(String value) {
            addCriterion("doUrlLog <", value, "dourllog");
            return (Criteria) this;
        }

        public Criteria andDourllogLessThanOrEqualTo(String value) {
            addCriterion("doUrlLog <=", value, "dourllog");
            return (Criteria) this;
        }

        public Criteria andDourllogLike(String value) {
            addCriterion("doUrlLog like", value, "dourllog");
            return (Criteria) this;
        }

        public Criteria andDourllogNotLike(String value) {
            addCriterion("doUrlLog not like", value, "dourllog");
            return (Criteria) this;
        }

        public Criteria andDourllogIn(List<String> values) {
            addCriterion("doUrlLog in", values, "dourllog");
            return (Criteria) this;
        }

        public Criteria andDourllogNotIn(List<String> values) {
            addCriterion("doUrlLog not in", values, "dourllog");
            return (Criteria) this;
        }

        public Criteria andDourllogBetween(String value1, String value2) {
            addCriterion("doUrlLog between", value1, value2, "dourllog");
            return (Criteria) this;
        }

        public Criteria andDourllogNotBetween(String value1, String value2) {
            addCriterion("doUrlLog not between", value1, value2, "dourllog");
            return (Criteria) this;
        }

        public Criteria andDorequestlogIsNull() {
            addCriterion("doRequestLog is null");
            return (Criteria) this;
        }

        public Criteria andDorequestlogIsNotNull() {
            addCriterion("doRequestLog is not null");
            return (Criteria) this;
        }

        public Criteria andDorequestlogEqualTo(String value) {
            addCriterion("doRequestLog =", value, "dorequestlog");
            return (Criteria) this;
        }

        public Criteria andDorequestlogNotEqualTo(String value) {
            addCriterion("doRequestLog <>", value, "dorequestlog");
            return (Criteria) this;
        }

        public Criteria andDorequestlogGreaterThan(String value) {
            addCriterion("doRequestLog >", value, "dorequestlog");
            return (Criteria) this;
        }

        public Criteria andDorequestlogGreaterThanOrEqualTo(String value) {
            addCriterion("doRequestLog >=", value, "dorequestlog");
            return (Criteria) this;
        }

        public Criteria andDorequestlogLessThan(String value) {
            addCriterion("doRequestLog <", value, "dorequestlog");
            return (Criteria) this;
        }

        public Criteria andDorequestlogLessThanOrEqualTo(String value) {
            addCriterion("doRequestLog <=", value, "dorequestlog");
            return (Criteria) this;
        }

        public Criteria andDorequestlogLike(String value) {
            addCriterion("doRequestLog like", value, "dorequestlog");
            return (Criteria) this;
        }

        public Criteria andDorequestlogNotLike(String value) {
            addCriterion("doRequestLog not like", value, "dorequestlog");
            return (Criteria) this;
        }

        public Criteria andDorequestlogIn(List<String> values) {
            addCriterion("doRequestLog in", values, "dorequestlog");
            return (Criteria) this;
        }

        public Criteria andDorequestlogNotIn(List<String> values) {
            addCriterion("doRequestLog not in", values, "dorequestlog");
            return (Criteria) this;
        }

        public Criteria andDorequestlogBetween(String value1, String value2) {
            addCriterion("doRequestLog between", value1, value2, "dorequestlog");
            return (Criteria) this;
        }

        public Criteria andDorequestlogNotBetween(String value1, String value2) {
            addCriterion("doRequestLog not between", value1, value2, "dorequestlog");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}